/**
 * 文件名：auth.js
 * 功能：用户认证相关 API 接口
 * 作用：封装登录、注册、获取用户信息等接口
 * 模块关系：
 *   - 被登录组件调用：提交登录/注册请求
 *   - 依赖 http.js：发送 HTTP 请求
 *   - 调用后端接口：/auth/login、/auth/register、/user/profile
 * 作者：白永康
 * 学号：2501210209
 */
import { http } from '@/utils/http'

/**
 * 用户登录
 * @param {string} username - 用户名
 * @param {string} password - 密码
 * @returns {Promise<Object>} 返回 { token, userId, username }
 */
export async function login(username, password) {
  const data = await http.post('/auth/login', { username, password })
  return data
}

/**
 * 用户注册
 * @param {string} username - 用户名
 * @param {string} password - 密码
 * @returns {Promise<Object>} 返回 { token, userId, username }
 */
export async function register(username, password) {
  const data = await http.post('/auth/register', { username, password })
  return data
}

/**
 * 获取当前用户信息（需要登录）
 * @returns {Promise<Object>} 返回用户信息
 */
export async function getUserProfile() {
  const data = await http.get('/user/profile')
  return data
}

/**
 * 退出登录（可选，如果后端有对应接口）
 */
export async function logout() {
  // 如果后端有退出接口，可以在这里调用
  // await http.post('/auth/logout')
  
  // 清除本地存储
  localStorage.removeItem('token')
  localStorage.removeItem('userId')
  localStorage.removeItem('username')
}
